import { ref, computed } from 'vue'
import { defineStore } from 'pinia'

export const useCounterStore = defineStore('counter', () => {
  const count = ref(0)
  const name = ref('张三')
  const doubleCount = computed(() => count.value * 2)
  function increment() {
    count.value++
  }
  //重置状态
  function reset() {
    count.value = 0
    name.value = '里斯'
  }
  return { count, name, doubleCount, increment, reset }
})

export const useUserStore = defineStore('user', {
  state: () => ({
    userInfo: null, // 用于存储用户信息
  }),
  actions: {
    // 从 localStorage 获取用户信息（可选，取决于你是否想在页面刷新时保留信息）
    loadUserInfo() {
      const userInfo = localStorage.getItem('userInfo')
      if (userInfo) {
        useUserStore.userInfo = JSON.parse(userInfo)
      }
    },
    // 设置用户信息，并可以选择保存到 localStorage
    setUserInfo(userInfo) {
      useUserStore.userInfo = userInfo
      // 如果想在页面刷新时保留信息，可以取消以下注释
      localStorage.setItem('userInfo', JSON.stringify(userInfo))
    },
    // 清除用户信息，并从 localStorage 移除（可选）
    clearUserInfo() {
      useUserStore.userInfo = ''
      localStorage.removeItem('userInfo')
    },
  },
  getters: {
    isLoggedIn: (state) => !!state.userInfo, // 判断用户是否已登录
  },
})
